<HTML>
<HEAD>
<TITLE>
Cubo.h
</TITLE>
</HEAD>
<BODY>
<PRE>
<font color="green">/*
 * Cubo.h
 *
 *  Created on: 25/10/2009
 *      Author: Francisco
 */</font>

<font color="blue">#ifndef</font> CUBO_H_
<font color="blue">#define</font> CUBO_H_

<font color="blue">#include</font> <font color="maroon">&#60;vector&#62;</font>
<font color="green">//#include "../../classes.inc.h"</font>
<font color="green">//#include "../Indice.inc.h"</font>

<font color="blue">using</font> <font color="blue">namespace</font> std;

<font color="blue">class</font> Cubo<font color="black">{</font>
<font color="blue">private</font><font color="black">:</font>
    
    <font color="blue">unsigned</font> <font color="blue">int</font> numero;
    <font color="blue">unsigned</font> <font color="blue">int</font> td;
    std<font color="black">:</font><font color="black">:</font>vector<font color="black">&#60;</font><font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font><font color="black">&#62;</font><font color="black">*</font> claves;
    
<font color="blue">public</font><font color="black">:</font>
    <font color="green">/**
     * Constructor Cubo
     *
     * Crea un Cubo nuevo con el numero del cubo,
     * el tamanio de dispersion y un vector de claves vacio
     *
     * @author Francisco
     *
     * @param numero es el numero del cubo en el archivo
     * @param td es el tamanio de dispersion del cubo
     * 
     */</font>
    Cubo<font color="black">(</font><font color="blue">unsigned</font> <font color="blue">int</font> numero, <font color="blue">unsigned</font> <font color="blue">int</font> td<font color="black">)</font>;
    <font color="green">/**
     * Destructor Cubo
     *
     * Destruye el vector de las claves
     *
     * @author Francisco
     *
     */</font>
    ~Cubo<font color="black">(</font><font color="black">)</font>;
    <font color="green">/**
     * InsertarClave
     *
     * Inserta la clave en el cubo 
     *
     * @author Francisco
     * 
     * @param long int clave a insertar
     *
     */</font>
    <font color="blue">void</font> InsertarClave<font color="black">(</font><font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font> claveAInsertar<font color="black">)</font>;
    <font color="green">/**
     * EliminarClave
     * 
     * Elimina la clave del cubo si se encuentra la clave en el cubo
     * 
     * @author Francisco
     * 
     * @param long int clave a eliminar del cubo
     * 
     */</font>
    <font color="blue">void</font> EliminarClave<font color="black">(</font><font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font> claveAEliminar<font color="black">)</font>;
    <font color="green">/**
     * estaVacio
     * 
     * Si el cubo se encuentra vacio o no
     * 
     * @author Francisco
     * 
     * @return bool Devuelve si esta vacio o no
     * 
     */</font>
    <font color="blue">bool</font> estaVacio<font color="black">(</font><font color="black">)</font>;
    <font color="green">/**
     * setTd
     * 
     * Modifica el tamanio de dispersion del cubo
     * 
     * @author Francisco
     * 
     * @param unsigned int tamanio de dispersion nuevo
     * 
     */</font>
    <font color="blue">void</font> setTd<font color="black">(</font><font color="blue">unsigned</font> <font color="blue">int</font> tamanio<font color="black">)</font>;
    <font color="green">/**
     * getTd
     * 
     * Devuelve el tamanio de dispersion del cubo
     * 
     * @author Francisco
     * 
     * @return unsigned int El tamanio de dispersion del cubo
     * 
     */</font>
    <font color="blue">unsigned</font> <font color="blue">int</font> getTd<font color="black">(</font><font color="black">)</font>;
    <font color="green">/**
     * getClaves
     * 
     * Devuelve el vector de claves del cubo
     * 
     * @author Francisco
     * 
     * @return std::vector Vector de claves del cubo
     * 
     */</font>
    std<font color="black">:</font><font color="black">:</font>vector<font color="black">&#60;</font><font color="blue">unsigned</font> <font color="blue">long</font> <font color="blue">int</font><font color="black">&#62;</font><font color="black">*</font> getClaves<font color="black">(</font><font color="black">)</font>;
    
    
<font color="black">}</font>;

<font color="blue">#endif</font> <font color="green">/*CUBO_H_*/</font>

</PRE>
</BODY>
</HTML>
